The present invention relates to an information processor. More particularly, this invention relates to a computer system used for a server, a main frame, etc. and its input and output means which enable a plurality of partitions to operate in a single computer of the computer system.
Widely used for purposes such as reduction of TCO by consolidation of a plurality of computer systems or improvement in their utility using hot standby function is a technology which enables us to divide a computer system into a plurality of partitions, install an operating system in each partition, and run the partitions as if each partition were a physical computer system.
U.S. Pat. No. 5,414,851 discloses a logical partition (LPAR) technology for general-purpose computers. According to the technology, by using a partition-control program called hypervisor, CPUs are used on a time-sharing basis by partitions, of which the number is larger than that of the CPUs, to achieve consolidation in a computer system. Besides it is possible to control the allocation of time among the partitions with hypervisor. Moreover the sharing of I/O resources among partitions is achieved.
U.S. Pat. No. 6,226,734 discloses a technology which divides a parallel computer of a main-memory sharing type into a plurality of CPU groups and uses each group as a partition. According to the technology, the inside of a parallel computer can be divided into a plurality of partitions and the physical CPUs, the main memory, and the I/O device(s) of the computer can be allocated among the individual partitions.
New communication and I/O systems have been proposed recently in the field of I/O systems for computers. A new communication protocol of VIA Protocol has been proposed in “Virtual Interface Architecture Specification.” By using the protocol and two technologies described below, considerable reduction in overheads on communication and higher-speed communication and input/output as compared with the communication systems currently in use can be accomplished.    (1) A technology enabling a user program to start communication directly without a system call to the OS (OS-bypassing start)    (2) A technology enabling a communication adapter to copy communication data directly from the user space without copying the communication data from a communication buffer of the user space to a communication buffer of the OS space (zero-copy start)
Furthermore a new-generation I/O architecture has been proposed, of which the core protocol is communication in accordance with the VIA. Under the circumstances, OS-bypassing and zero-copy starts such as the VIA would become the mainstream in future architectures for communication and input/output among computers.
There are, however, problems below if data are input into and output from a computer system divided into partitions by using the above technologies.
Although the use of CPU resources by partitions can be controlled flexibly, it is difficult to control the use of I/O resources.
It is possible to control, by using a partition-control program, what percentage of the CPU capacity each partition uses in a large computer. It is also possible to control how many CPUs are allocated to each partition in a parallel computer. Regarding the input and output of data into and from the partitions in a computer system, each partition is usually allocated a certain I/O adapter(s), allowing the sharing of I/O adapters among the partitions. It has, however, not been tried so far to control positively the allocation of I/O adapters among partitions in a computer system.
To input and output data with a conventional I/O system, system calls to start the I/O devices, copying of data areas, etc. require considerable CPU power; accordingly the I/O devices can be allocated a capacity in proportion to the CPU power by merely controlling the CPU power.
In the case of the new-generation I/O system which is being put to practical use, the I/O system is started without a system call to the OS or copying of communication data; therefore little CPU power is used to start the I/O system. Under the circumstances, becoming unworkable is the conventional method of controlling the use of I/O adapters indirectly by controlling the CPU power.
Among Internet-related programs of which the importance has recently been increasing rapidly, some require remarkably large I/O capacity as compared with conventional programs centering on CPUs. As for such programs, becoming unworkable is the conventional approach to balancing the CPU capacity and the I/O capacity of each partition in a computer system by just allocating each partition an I/O capacity in proportion to its CPU capacity.
Regarding the present servers of Internet data centers, it is essential for such servers to keep SLAs (service level agreements). Necessary for maintaining the SLA level of user programs running on partitions are a function of controlling the use of I/O adapters by the partitions in addition to a function of controlling the use of CPUs by the partitions.